Computer networks are widely used to provide increased computing power, sharing of resources and communication between users. The widespread use of computer networks has resulted in increased reliance on these networks for everyday business operations as well as for personal use. At the same time, widespread use of computer networks has also resulted in these networks becoming increasingly larger and more complex.
As networks become more complex, systems that perform fault detection and correction in these networks -become more important. More particularly, it is desirable to have a computer network designed so that the deleterious effects of network faults are minimized. Such faults could include a network device turned off, a hardware failure in a network device, a port disabled or down, a high volume of network traffic, or a broken link between network devices. It is also desirable to be able to predict, with some degree of accuracy, the behavior of a network when such faults or other occurrences are introduced into the network. These other occurrences could be, for example, adding new devices to network, removing devices from the network, or replacing network devices.
Network management systems are often used by a network administrator to detect and resolve problems associated with the faults discussed above. Network management systems are generally capable of monitoring, accounting for, and controlling network resources. For example, a network management system may be capable of managing routers, switches, hubs, and their interconnecting hardware. Thus, network management stations can use information collected from monitoring the network to detect, isolate and repair common problems, either automatically or with the involvement of less-skilled personnel. By simulating a network, a network administrator may test a proposed network design before using the design in a live environment.
There are many methods for simulating a network. One method involves physically building the network in a closed laboratory environment. In this method, actual physical hardware components are linked together according to the desired network topology. Then, the network is simulated using artificial network traffic. Effects of this network traffic on the proposed network design can then be monitored and problems determined. One drawback of this method is that it may be difficult to generate artificial network traffic that fully tests the fault tolerance of the network. Moreover, even if a fault is detected using the artificial network traffic, it may be difficult to recreate the conditions which produced the fault. Another disadvantage of this simulation method is that it may be difficult and unwieldy to change the network configuration in response to simulation data, especially when the network is large and includes many devices. Changing the network configuration generally involves physically moving and reconnecting cables and interconnecting hardware that connect the network devices. This can be a very daunting and time-consuming task as interconnection and configuration of network devices is a difficult process. Thus, using a physical simulation of a network can be very time consuming, inaccurate, and inefficient.
Another method for simulating a network includes modeling network devices and performing an offline network simulation using specially programmed software tools. Such tools, such as the Comnet III system, allow a user to define a diagram model of the network. In Comnet III system, the network topology may be defined by positioning the node and link icon in the display. The nodes and links can be connected and the desired topology and attributes of each node or link may be set. Next, network traffic is defined by indicating, for example, message sources and response sources for each origin node and destination node. Other parameters, such as the length in time of the simulation, the warm-up time before the simulation begins and the number of simulation runs to be performed may also be specified. The simulation may then execute and generate reports during and after the simulation including device status and results of the simulation. These reports may include node utilization and application delays, link delays and utilization, message delays, packet delays, calls blocked, etc. This type of offline simulation is disadvantageous because it does not allow modification of the network during the simulation. Also, creation and interconnection of network models is a time-consuming process.